#include <vector>
#include <algorithm>
using namespace std;

class Solution {
public:

    //时间复杂度：O(n)
    //空间复杂度：O(n)  //可以使用滚动数组将空间复杂度优化为O(1)
    int minCostClimbingStairs(vector<int>& cost) {
        vector<int> dp(cost.size()+1);
        int size = dp.size();
        dp[0]=dp[1]=0;
        for(int i = 2;i<size;++i)
        {
            dp[i] = std::min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2]);
        }
        return dp[size-1];
    }
};